﻿using System;

namespace UltimateNavigationFramework.Authorisation
{
    public interface INavigationAuthoriser
    {
        /// <summary>
        /// Checks whether the principal has sufficient authorization to access the Uri.
        /// If the principal is authorized, this method should simply return.  Otherwise, it should throw.
        /// </summary>        
        /// <param name = "targetUri">The Uri being loaded.</param>        
        void CheckAuthorization(Uri targetUri);

        /// <summary>
        /// The Error Uri to redirect to
        /// </summary>
        String ErrorUri { get; set; }
    }
}
